<?php

class EventController {
//private $model; 
    private $tipos;
    private $eventosFooter;
    public function __construct() { 
        $db= db::dbini();
        $this->tipos= TipoEvento::find('all', array('order' => 'descripcion asc'));
        $this->eventosFooter=Evento::find('all', array('order' => 'idevento desc','limit' => 3));
    } 
    
    public function crear(){
    	$eventosFooter=$this->eventosFooter;
    	$tipos=$this->tipos;
    	$title='nuevo evento';
    	require('Views/crear.php');
    }
    
    public function evento($id){
    	if($id==null)
    		header( 'Location:/' );
		else {
			$intId=intval($id);
			if($intId!=0){
				$e=null;
				TRY{
					$e=Evento::find($intId);
					$tipo=TipoEvento::find($e->idtipoevento);
					$eventosFooter=$this->eventosFooter;
					$tipos=$this->tipos;
    				$title=$e->nombre;
					require('Views/single.php');
				}
				CATCH(Exception $s){
					//if not found add default page
					header( 'Location:/' );
				}
			}
			else
 				$this->buscar($id);			
		}
    }
    
    public function buscar($parameter){
    	if($parameter==null)
    		header( 'Location:/' );
    	else {
    		//buscar evento 
    		TRY{
    			$u=Evento::find('all', array('conditions' => "fechaie >= NOW() and (nombre LIKE '%".$parameter."%'
																or descripcion LIKE '%".$parameter."%'
																or lugar LIKE '%".$parameter."%'
																or nombreusuario LIKE '%".$parameter."%'
															    or direccion LIKE '%".$parameter."%' )", 'order' => 'fechaie asc , hora asc'));
    			//si se encontraron eventos
    			if($u!=null){
    				$eventosFooter=$this->eventosFooter;
    				$tipos=$this->tipos;
    				$month= date("m");
    				$year=date("Y");
    				$title='Eventaiser';
    				require('Views/buscar.php');
    			}
    			//no se encontro ningun evento
    			else
    				//if not found add default page
    				header( 'Location:/' );
    		}
    		CATCH(Exception $e){
				//if not found add default page
    			header( 'Location:/' );
    		}
    	}
    }
    
    public function all(){
    	TRY{
    		$u=Evento::all();
    		//si se encontraron eventos
    		if($u!=null){
    			$eventosFooter=$this->eventosFooter;
    			$tipos=$this->tipos;
    			$month= date("m");
    			$year=date("Y");
    			$title='Eventaiser';
    			require('Views/buscar.php');
    		}
    		//no se encontro ningun evento
    		else
    			//if not found add default page
    			header( 'Location:/' );
    	}
    	CATCH(Exception $e){
    		//if not found add default page
    		header( 'Location:/' );
    	}
    }
    
    public function nuevo(){
    	$nombre= $_POST["nombre"];
    	$fechaie= $_POST["fechaie"];
    	$fechafe= $_POST["fechafe"];
    	$hora= $_POST["hora"];
    	$descripcion= $_POST["descripcion"];
    	$idtipoevento= $_POST["idtipoevento"];
    	$urlfacebook= $_POST["urlfacebook"];
    	$fanpage= $_POST["fanpage"];
    	$urltwitter= $_POST["urltwitter"];
    	
    	$email= $_POST["email"];
    	
    	$telefono= $_POST["telefono"];
    	$paginaoficial= $_POST["paginaoficial"];
    	$viejascoordenadas= $_POST["coordenadas"];
    	$coordenadas= substr($viejascoordenadas, 1, strlen($viejascoordenadas)-2);
    	$lugar= $_POST["lugar"];
    	$direccion= $_POST["direccion"];
    	$precio= $_POST["precio"];
    	
    	
    	
    	$evento= new Evento();
    	$evento->nombre=$nombre;
    	$evento->fechaie=$fechaie;
    	$evento->fechafe=$fechafe;
    	$evento->hora=$hora;
    	$evento->descripcion=$descripcion;
    	$evento->idtipoevento=$idtipoevento;
    	$evento->urlfacebook=$urlfacebook;
    	$evento->fanpage=$fanpage;
    	$evento->urltwitter=$urltwitter;
    	$evento->telefono=$telefono;
    	$evento->paginaoficial=$paginaoficial;
    	$evento->coordenadas=$coordenadas;
    	$evento->lugar=$lugar;
    	$evento->direccion=$direccion;
    	$evento->precio=$precio;
    	$evento->nombreusuario="Admin";
    	$evento->idpaquete=1;
    	$evento->save();
    	
    	$allowedExts = array("jpg", "jpeg", "gif", "png");
    	$extension = end(explode(".", $_FILES["file"]["name"]));
    	
    	if ((($_FILES["file"]["type"] == "image/gif")
    			|| ($_FILES["file"]["type"] == "image/jpeg")
    			|| ($_FILES["file"]["type"] == "image/png")
    			|| ($_FILES["file"]["type"] == "image/pjpeg"))
    			&& ($_FILES["file"]["size"] < 2000000000000)
    			&& in_array($extension, $allowedExts))
    	{
    		if ($_FILES["file"]["error"] > 0)
    		{
    			echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
    		}
    		else
    		{
    			echo "Upload: " . $_FILES["file"]["name"] . "<br>";
    			echo "Type: " . $_FILES["file"]["type"] . "<br>";
    			echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
    			echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";
    	
    			if (file_exists("../Views/images/" . $_FILES["file"]["name"]))
    			{
    				echo $_FILES["file"]["name"] . " already exists. ";
    			}
    			else
    			{
    				move_uploaded_file($_FILES["file"]["tmp_name"],
    				"Views/images/".$evento->idevento.".jpg");
    				echo "Stored in: " . "/Views/images/" . $_FILES["file"]["name"];
    			}
    		}
    	}
    	else
    	{
    		echo "k chiquita dije";
    	}
    	header( 'Location: /evento/'.$evento->idevento ) ;
    }
}
?>